//package com.cjl.demo.email;
//
//import com.sun.mail.util.MailSSLSocketFactory;
//import org.apache.commons.logging.Log;
//import org.apache.commons.logging.LogFactory;
//
//import javax.mail.*;
//import javax.mail.internet.InternetAddress;
//import javax.mail.internet.MimeMessage;
//import javax.mail.internet.MimeMultipart;
//import java.security.GeneralSecurityException;
//import java.util.Date;
//import java.util.Properties;
//
///**
// * <p>Copyright: All Rights Reserved</p>
// * <p>Description: 邮件服务 -- qq企业邮箱</p>
// * @ date: 2018/11/19
// */
//
//public class EmailService {
//    private static Log log = LogFactory.getLog(EmailService.class);
//    //发件人地址
//    public static String senderAddress = "tongzhen_server@58ganji.com";
//    //收件人地址
//    public static String recipientAddress = "chenjinliang@58ganji.com";
//
//    private static final String account = "tongzhen_server@58ganji.com";    //登录用户名
//    private static final String pass = "0064hfXz";        //登录密码
//    private static final String host = "smtp.exmail.qq.com";        //服务器地址（邮件服务器）
//    private static final String port = "465";        //端口
//    private static final String protocol = "smtp"; //协议
//
//    /**
//     *  发送邮件服务 qq企业邮箱
//     * @param fromEmail 发送人
//     * @param toEmail 收件人
//     * @param subject 主题
//     * @param content 内容
//     * @return
//     */
//    public boolean sendEmail(String fromEmail, String[] toEmail, String subject, String content) throws Exception {
//        Properties prop = getMailProperties();
//        Session session = Session.getDefaultInstance(prop, new MyAuthenricator(account, pass));
//        session.setDebug(true);
//        MimeMessage mimeMessage = new MimeMessage(session);
//        try {
//            //发件人
////            mimeMessage.setFrom(new InternetAddress(account, "同镇后端服务"));        //可以设置发件人的别名
//            mimeMessage.setFrom(new InternetAddress(account));    //如果不需要就省略
//            //收件人
//            InternetAddress[] toEmailArray = new InternetAddress[toEmail.length];
//            for (int i =0 ; i < toEmail.length; i ++){
//                String email = toEmail[i];
//                InternetAddress internetAddress = new InternetAddress(email);
//                toEmailArray[i] = internetAddress;
//            }
//            mimeMessage.addRecipients(Message.RecipientType.TO, toEmailArray);
//            //主题
//            mimeMessage.setSubject(subject);
//            //时间
//            mimeMessage.setSentDate(new Date());
//            //容器类，可以包含多个MimeBodyPart对象
//            Multipart mp = new MimeMultipart();
//
//            //仅仅发送文本
//            mimeMessage.setText(content);
//            mimeMessage.saveChanges();
//            Transport.send(mimeMessage);
//        } catch (MessagingException e) {
//            log.error("MessagingException, e = " +e.getMessage());
//            e.printStackTrace();
//        }
//        return false;
//    }
//
//    /**
//     * 获取邮件相关配置属性
//     * @return
//     */
//    private Properties getMailProperties() {
//        Properties prop = new Properties();
//        //协议
//        prop.setProperty("mail.transport.protocol", protocol);
//        //服务器
//        prop.setProperty("mail.smtp.host", host);
//        //端口
//        prop.setProperty("mail.smtp.port", port);
//        //使用smtp身份验证
//        prop.setProperty("mail.smtp.auth", "true");
//        //使用SSL，企业邮箱必需！
//        //开启安全协议
//        MailSSLSocketFactory sf = null;
//        try {
//            sf = new MailSSLSocketFactory();
//            sf.setTrustAllHosts(true);
//        } catch (GeneralSecurityException e1) {
//            e1.printStackTrace();
//        }
//        prop.put("mail.smtp.ssl.enable", "true");
//        prop.put("mail.smtp.ssl.socketFactory", sf);
//        return prop;
//    }
//
//
//    static class MyAuthenricator extends Authenticator {
//        String u = null;
//        String p = null;
//
//        public MyAuthenricator(String u, String p) {
//            this.u = u;
//            this.p = p;
//        }
//
//        @Override
//        protected PasswordAuthentication getPasswordAuthentication() {
//            return new PasswordAuthentication(u, p);
//        }
//    }
//
//    public static void main(String[] args) throws Exception{
//        EmailService emailService = new EmailService();
//        String[] toEmail = new String[]{"chenjinliang@58ganji.com"};
//        emailService.sendEmail(EmailService.recipientAddress,toEmail,"test", "test");
//    }
//
//}
